#ifndef __MONITOR_INCLUDED
#define __MONITOR_INCLUDED


namespace Audio
{
	namespace Help
	{
		class RuntimeMessage
		{

		};
		class RuntimeMonitor : public IRunable
		{
		public:
			RuntimeMonitor();
			~RuntimeMonitor();

			void SendMessage(RuntimeMessage* message);
			
			virtual void Run();
			virtual UINT32 ReturnCode();
		private:

			void HandleMessage(RuntimeMessage* message);
			
			ILocker* lock;
			IThread* monitorThread;
			IEvent*  trigger;
			std::queue<RuntimeMessage*> messages;
		};
	}
};

#endif //__MONITOR_INCLUDED